#pragma once

#include <typedef.h>
//
#include <semaphore.hpp>

#define UORB_SUB_SIZE  (8)
#define UORB_NAME_SIZE (256)

// 把它当结构体用
class UorbData
{
public:
	UorbData();
	virtual ~UorbData();

	Semaphore m_SemW;				   // 写数据信号量
	Semaphore m_SemR;				   // 读数据信号量
	int m_ReaderCnt;				   // 当前正在读数据的任务数
	void* m_Data;					   // uORB实际数据
	int m_DataSize;					   // uORB实际数据大小
	int m_SubCnt;					   // 订阅者个数
	uint32_t m_SubList[UORB_SUB_SIZE]; // 订阅者列表，最多支持256个订阅者
};
